package com.canal.admin.dao;

import com.canal.admin.entity.canal.ZcolChannel;
import com.canal.admin.transfer.resp.canal.ChannelListResp;
import com.canal.admin.transfer.resp.canal.ChannelResp;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author yangbo
 * @date 2020-06-23 14:06
 */
@Repository
public interface ZcolChannelMapper {

    /**
     * 查询渠道列表
     * @param keyword
     * @return
     */
    List<ChannelListResp> findChannelByConditions(@Param("keyword") String keyword);

    /**
     * 新增名称校重
     * @param name
     * @return
     */
    int existName(@Param("name") String name);

    /**
     * 编辑名称校重
     * @param name
     * @param id
     * @return
     */
    int existNameAndId(@Param("name") String name,@Param("id") Integer id);

    /**
     * 新增账户名称校重
     * @param buzName
     * @return
     */
    int existBuzName(@Param("buzName") String buzName);

    /**
     * 修改账户名称校重
     * @param buzName
     * @param id
     * @return
     */
    int existBuzNameAndId(@Param("buzName") String buzName,@Param("id") Integer id);

    /**
     * 新增
     * @param zcolChannel
     */
    void addChannel(@Param("channel") ZcolChannel zcolChannel);

    /**
     * 判断一个渠道下是否存在渠道号
     * @param id
     * @return
     */
    int existChannelItem(@Param("id") Integer id);

    /**
     * 按id删除
     * @param id
     */
    void delById(@Param("id") Integer id);

    /**
     * 明细
     * @param id
     * @return
     */
    ChannelResp detailById(@Param("id") Integer id);

    /**
     * 编辑渠道
     * @param channel
     */
    void upChannel(@Param("channel") ZcolChannel channel);

    /**
     * 重置密码
     * @param channel
     */
    void upBuzPassword(@Param("channel") ZcolChannel channel);

    /**
     * 通过id获取数据
     * @param id
     * @return
     */
    ZcolChannel getById(@Param("id") Integer id);
}
